Lab 3 – Controlling a Wheeled Mobile Robot

with an Infrared Remote

Demonstration: April 11th 2002, Report Due: April 15th 2002

 

In this lab, we will examine the interfacing of a small semi-autonomous wheeled mobile robot to a microprocessor, focusing especially on development alternative user-interfaces and performance calibration.

 

Objectives

1.       Build and calibrate a wheeled mobile robot from the kit components.

2.       Interface a 38KHz Infrared (IR) remote sensor to read input signals from an IR TV remote-control.

3.       Gain experience with implementing alternative and unconventional user-interfaces. ­­

 

PART A:

 

The BOE-Bot kit (and the complementary series of exercises discussed in the Robotics Student Workbook) provide an expedient method for creating simple wheeled mobile robots (which will serve as our experimental testbed). In our work, we will build upon the hardware and software framework to further extend the capabilities of this BOEBot for Part C of this lab and the final projects.

 

Hence, in this first part, your task is to assemble, test and calibrate a differentially driven mobile robot from the BOE-bot kit components. Explore http://www.stampsinclass.com/html_files/sic_curr/curriculum_robo.asp and some of the affiliated links for more details about the BOE-Bot and other useful information. The Robotics Student Workbook v1.5 is available for download from:

http://www.stampsinclass.com/downloads/Robo/rob.pdf OR

http://www.parallaxinc.com/downloads/Stamps_in_Class/rob.pdf

Please download and read the Robotics Student Workbook v1.5, paying particular attention to Chapters 1-2.

 

PART B:

 

Your task will be to receive and decode the 38Khz modulated IR signal from a TV remote, using the Basic Stamp and a 38Khz IR receiver, and display the decoded result on an LCD screen. Remotes from different manufacturers may use different coding schema for sending information. Select a particular remote (one of your group has access to) and research the Web to find the corresponding scheme.

Setup the Stamp circuitry with the IR receiver module to the setup. Create a program that can recognize the relevant bits from the IR message and display the last pressed key on the LCD screen. Once you have this part working integrate it with the program for motor control that you developed in Part B so that the remote control will take on the role of the keypad – i.e. pressing keys on the remote control will control the operation of the motor.

Some background information (possibly useful!):

·         38 KHz Infra-Red Receiver (Sharp IS1U60) http://www.hvwtech.com/robotics.htm#ir-rx.

·         Seb Cervinska's 305-557A Homework Documentation http://www.cim.mcgill.ca/~arlweb/mechatronics/p5/homeworks/homeworks.htm

·         A Remote Control Study http://www.ee.washington.edu/conselec/A95/projects/pierreg/main.htm

·         Decoding IR Remote Controls http://www.ee.washington.edu/circuit_archive/circuits/F_ASCII_Schem_IR.html#ASCIISCHEMIR_006

·         Long Range Infrared Remote http://www.boondog.com//tutorials/lrir/mc145026.htm

·         A Serial Infrared Remote Controller http://www.armory.com/~spcecdt/remote/remote.html

·         Generating Sony Remote Control Signals with a BASIC Stamp II http://www.whimsy.demon.co.uk/sircs/

·         Remote control code specifications for Sony A/V equipment http://www.brouhaha.com/~eric/pic/controls.html

·         The iRX 2.1 http://www.media.mit.edu/~r/projects/picsem/irx2_1/

·         Sony Control-S Protocol Specifications http://www.ecn.purdue.edu/~laird/electronics/Sony/protocols/sircs.txt

·         Sircs description http://www.geocities.com/CapeCanaveral/Launchpad/4652/sircs.htm

PART C:

 

Many alternative interfaces can be created by a combination of hardware and software  mechatronic elements. In this part we will explore the creation and use of some of these interfaces (using the components that we developed in Parts A and B):

 

MODE 1:  Steering wheels and joysticks are two of the most common hardware interface devices used for operation of remote-control toys. We, however, would like to use an infrared TV remote coupled with suitable electronics as a means to actively control the operation of the Wheeled Mobile Robot. (E.g. The Up/Down Left/Right keys on the IR remote could be used to drive the robot forward and backward). Thus, in this interactive operation mode, we would like to be able to drive the robot using the remote control as the active driving interface.

 

MODE 2:  Very often, in order to partially automate the task of driving, it is beneficial to preprogram most of the motion control into a series of parametric primitives/subroutines (sudh as Drive_in_a_circle, Drive_Straight, Turn_on_the_spot). Thus, in the second mode, we would like to explore this process further using one sample primitive, tracing a circle. Create a generic subroutine/program that can move the mobile robot in a circular trajectory, for a given radius of the circle inputted using the IR remote control.

 

Only Modes 1 and 2 are required for the demonstration (and all evaluation will be based on them).

 

MODE 3 (for the really ambitious folks): Thus, given a set of parametrically controllable primitive routines, a more complex motion can now be performed as a sequence of simpler primitives with suitably selected parameters. For example, travel to a given (incremental) desired X,Y position by the mobile robot can be broken down into a sequence of two motions – Turn_on_the_spot (q degrees) and Drive_straight (r cm). Thus, in this demonstration, the IR remote could be used to input the desired X,Y position and the rest of the decomposition into the motion sequence and actual execution is completely controlled by the onboard computation.

 

Reporting:

Provide a self-standing document, which could be used as an “Application Note” which describes and explains your system and would enable someone else to replicate your work. Please follow the guidelines provided at http://www.eng.buffalo.edu/Courses/MAE505/ReportFormat.html. Specifically:

·         Discuss the process of implementation, the intermediate calibration steps and their role on the final accuracy (if any!). 

·         Discuss some of the factors that would affect overall accuracy of operation, especially in Mode 2 – discuss what steps you have taken (if any) to verify the accuracy.

·         Document your system with circuit diagrams and list of components and include a listing of your program with thorough comments